package com.tywj.panda.customer.common.tool

import com.bumptech.glide.load.engine.cache.DiskCache
import com.tywj.lib.core.common.util.AppUtil
import com.tywj.lib.storage.mmkv.IStorage
import com.tywj.lib.storage.mmkv.MMKVStorage
import java.io.File

/**
 * @desc 缓存工具类
 * @author June Yang
 * @date 2020/5/8
 */
object CacheTool {

    private const val KEY = "panda-mmkv"

    // 局部缓存，在用户退出登录的时候会被删除
    val localCache: IStorage by lazy { MMKVStorage("local", KEY, true) }

    // 全局缓存，在用户退出登录的时候不会被删除
    val globalCache: IStorage by lazy { MMKVStorage("global", KEY, true) }

    // 用户全局缓存，在用户退出登录的时候不会被删除
    lateinit var userGlobalCache: IStorage
        private set

    // glide缓存路径
    private val GLIDE_CACHE_PATH =
        AppUtil.context.cacheDir.path + File.separator + DiskCache.Factory.DEFAULT_DISK_CACHE_DIR

    fun initCache() {
        MMKVStorage.initialize(AppUtil.context)
    }

    fun initUserGlobalCache(uid: String) {
        userGlobalCache = MMKVStorage(uid, KEY, true)
    }
}